package cn.source.system.domain;

import java.util.Date;

import cn.source.common.core.domain.TreeEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.source.common.annotation.Excel;
import cn.source.common.core.domain.BaseEntity;

/**
 * 分类管理对象 aa_category
 * 
 * @author sourcebyte.vip
 * @date 2023-08-04
 */
public class AaCategory extends TreeEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 分类ID
     */
    private Long id;

    /**
     * 分类名称
     */
    @Excel(name = "分类名称")
    private String categoryName;

    /**
     * 分类层级 1开始
     */
    @Excel(name = "分类层级 1开始")
    private Long categoryLeve;

    /**
     * 排序越大越靠前
     */
    @Excel(name = "排序越大越靠前")
    private Long categorySort;

    /**
     * 分类图标
     */
    @Excel(name = "分类图标")
    private String categoryIcon;

    /**
     * 上级ID,一级id时为0
     */
    @Excel(name = "上级ID,一级id时为0")
    private Long categoryPid;

    /**
     * 0下架 1上架
     */
    @Excel(name = "0下架 1上架")
    private Integer categoryStatus;

    /**
     * 删除标识 0正常 1删除
     */
    private Integer delFlag;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "添加时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    //商品数量
    private Integer goodsNum;
    //已下载数量
    private Integer downNum;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryLeve(Long categoryLeve) {
        this.categoryLeve = categoryLeve;
    }

    public Long getCategoryLeve() {
        return categoryLeve;
    }

    public void setCategorySort(Long categorySort) {
        this.categorySort = categorySort;
    }

    public Long getCategorySort() {
        return categorySort;
    }

    public void setCategoryIcon(String categoryIcon) {
        this.categoryIcon = categoryIcon;
    }

    public String getCategoryIcon() {
        return categoryIcon;
    }

    public void setCategoryPid(Long categoryPid) {
        this.categoryPid = categoryPid;
    }

    public Long getCategoryPid() {
        return categoryPid;
    }

    public void setCategoryStatus(Integer categoryStatus) {
        this.categoryStatus = categoryStatus;
    }

    public Integer getCategoryStatus() {
        return categoryStatus;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public Integer getGoodsNum() {
        return goodsNum;
    }

    public void setGoodsNum(Integer goodsNum) {
        this.goodsNum = goodsNum;
    }

    public Integer getDownNum() {
        return downNum;
    }

    public void setDownNum(Integer downNum) {
        this.downNum = downNum;
    }

    @Override
    public String toString() {
        return "AaCategory{" +
                "id=" + id +
                ", categoryName='" + categoryName + '\'' +
                ", categoryLeve=" + categoryLeve +
                ", categorySort=" + categorySort +
                ", categoryIcon='" + categoryIcon + '\'' +
                ", categoryPid=" + categoryPid +
                ", categoryStatus=" + categoryStatus +
                ", delFlag=" + delFlag +
                ", createDate=" + createDate +
                ", goodsNum=" + goodsNum +
                ", downNum=" + downNum +
                '}';
    }
}
